home *** CD-ROM | disk | FTP | other *** search
- 2 REM ZOLLRASTERHARDCOPY
- 3 REM
- 4 REM VON NORBERT RAMEK
- 5 REM IGNAZ RIEDERKAI 17
- 6 REM A-5020 SALZBURG
- 7 REM
- 20 REM OPEN 1,4:PRINT#1,CHR$(15);CHR$(27);CHR$(108);CHR$(15);
- 100 SYS8*4096
- 110 *= $6400
- 120 .OPT OO
- 200 PRINT = $FFD2
- 250 CHKOUT = $FFC9
- 260 CLRCH = $FFCC
- 270 CLOSE = $FFC3
- 300 ZLE = *-1
- 310 SPLTE = *-2
- 320 PIXNR = *-3
- 330 TBPTR = *-4
- 340 TBSTRT = *-5
- 350 SPERR = *-6
- 360 ENDZLE = *-7
- 370 DRKBYTE = *-15
- 2000 ;
- 2001 ;HARDCOPY
- 2002 ;********
- 2003 ;
- 2010 LDX #1;LOG. FILENUMMER
- 2020 JSR CHKOUT
- 2030 LDA #0;STARTADRESSE LI GRAF
- 2040 STA $FD;LO
- 2050 LDA #$20
- 2060 STA $FE;HI
- 2070 LDA #0;LF SPERREN
- 2080 STA SPERR
- 2090 STA ENDZLE
- 2100 LDA #9
- 2110 STA ZLE
- 2120 LDA #$1B;DRUCKER INITIALISIEREN
- 2130 JSR PRINT
- 2140 LDA #$40
- 2150 JSR PRINT
- 2160 JSR DRK;ZEILEN 1-10 (LI+RE) DRUCKEN
- 2170 LDA #$80;STARTADRESSE ZEILE 11
- 2180 STA $FD;LO
- 2190 LDA #$2C
- 2200 STA $FE;HI
- 2210 LDA #9
- 2220 STA ZLE
- 2230 JSR DRK;ZEILEN 11-20 DRUCKEN
- 2240 LDA #0;STARTADRESSE ZEILE 21
- 2250 STA $FD;LO
- 2260 LDA #$39
- 2270 STA $FE;HI
- 2280 LDA #5
- 2290 STA ZLE;UNGLEICH 0 ALS FLAG
- 2300 STA ENDZLE
- 2310 JSR DRK;ZEILEN 21-25 DRUCKEN
- 2320 LDX #0;VORSCHUB 10/216 + INITIALISIEREN
- 2330 ES3 LDA ESCTB3,X
- 2340 JSR PRINT
- 2350 INX
- 2360 CPX #6
- 2370 BNE ES3
- 2380 JSR CLRCH
- 2390 LDA #1;LOG. FILENUMMER
- 2400 JSR CLOSE
- 2410 RTS;ZU BASIC
- 2500 ;--- AUSDRUCK 10 GRAFIKZEILEN (LI+RE) ---
- 2510 DRK LDA #0;STARTEWERT IN TABELLE
- 2520 STA TBSTRT
- 2530 ;1. DRUCKDURCHGANG
- 2540 DRK1 JSR LF
- 2550 LDA #1;LF FREIGEBEN
- 2560 STA SPERR
- 2570 JSR GRMOD;GRAFIKMODUS EINLEITEN
- 2580 JSR DD;1 BILDSCHIRMZEILE DRUCKEN
- 2590 JSR AD1;GRAFIKADR. AUF RE GRAF
- 2600 JSR DD
- 2610 LDA #$0A;LF
- 2620 JSR PRINT
- 2630 JSR AD2;GRAFIKADR. AUF LI GRAF
- 2640 JSR AD3;ADRESSE ZURUECK ZEILENANFANG
- 2650 ;2. DRUCKDURCHGANG
- 2660 JSR GRMOD;GRAFIKMODUS EINLEITEN
- 2670 INC TBSTRT
- 2680 JSR DD;1 BILDSCHIRMZEILE DRUCKEN
- 2690 JSR AD1;GRAFIKADR. AUF RE GRAF
- 2700 JSR DD
- 2710 LDA #$0A;LF
- 2720 JSR PRINT
- 2730 JSR AD2;GRAFIKADR. AUF LI GRAF
- 2740 JSR AD3;ADRESSE ZURUECK ZEILENANFANG
- 2750 ;3. DRUCKDURCHGANG
- 2760 JSR GRMOD;GRAFIKMODUS EINLEITEN
- 2770 INC TBSTRT
- 2780 JSR DD;1 BILDSCHIRMZEILE DRUCKEN
- 2790 JSR AD1;GRAFIKADR. AUF RE GRAF
- 2800 JSR DD
- 2810 JSR AD2;GRAFIKADR. AUF LI GRAF
- 2820 CLC;STARTWERT IN TAB. ERHOEHEN
- 2830 LDA TBSTRT
- 2840 ADC #22;+2 MAL INC = 24/216
- 2850 STA TBSTRT
- 2860 DEC ZLE
- 2870 BNE DRK1;NAECHSTE ZEILE
- 2880 RTS
- 3000 ;--- AUSDRUCK 1 DRUCKERZEILE ---
- 3010 DD LDA #40
- 3020 STA SPLTE
- 3030 DD9 LDA TBSTRT;STARTWERT IN TABELLE
- 3040 STA TBPTR
- 3050 LDA #0;DRUCKERBYTES LOESCHEN
- 3060 LDY #7
- 3070 LS1 STA DRKBYTE,Y
- 3080 DEY
- 3090 BPL LS1
- 3100 ;NADELN VON OBEREN 8*8 FELD SETZEN
- 3110 LDY #0
- 3120 DD1 LDA ($FD),Y;BITMUSTER GRAFIKBYTE
- 3130 LDX #0;GRAFIKPIXEL 0-7
- 3140 DD2 ASL;LINKES BIT INS CARRY
- 3150 BCC DD3;WENN PIXEL GELOESCHT
- 3160 PHA;VERSCHOBENES GRAFIKBYTE MERKEN
- 3170 STX PIXNR;MERKEN
- 3180 LDX TBPTR
- 3190 LDA NADELTB,X;NUMMER ZUGEORDN. NADEL
- 3200 JSR UMR1;IN DRUCKER-GRAFIKBYTE UMRECHNEN
- 3210 LDX PIXNR;ZURUECK
- 3220 ORA DRKBYTE,X
- 3230 STA DRKBYTE,X;BIT FUER NADEL SETZEN
- 3240 PLA;VERSCHOBENES GRAFIKBYTE ZURUECK
- 3250 DD3 INX
- 3260 CPX #8
- 3270 BNE DD2
- 3280 INC TBPTR;AUF NAECHSTE NADEL
- 3290 INC TBPTR
- 3300 INC TBPTR
- 3310 INY
- 3320 CPY #8
- 3330 BNE DD1;NAECHSTES GRAFIKBYTE
- 3500 ;GRAFIKADRESSE AUF UNTERES 8*8 FELD
- 3510 CLC;+320
- 3520 LDA #$40;LO
- 3530 ADC $FD
- 3540 STA $FD
- 3550 LDA #1;HI
- 3560 ADC $FE
- 3570 STA $FE
- 3600 ;NADELN VON UNTEREN 8*8 FELD SETZEN
- 3610 LDA TBSTRT;STARTWERT IN TABELLE
- 3620 STA TBPTR
- 3630 LDY #0
- 3640 DD4 LDA ENDZLE;AUF UNTEREN RAND TESTEN
- 3650 BEQ DD10
- 3660 LDA ZLE
- 3670 CMP #1
- 3680 BEQ DD11;NADELN U. FELD UEBERSPR.
- 3690 DD10 LDA ($FD),Y;BITMUSTER GRAFIKBYTE
- 3700 LDX #0;GRAFIKPIXEL 0-7
- 3710 DD5 ASL;LINKES BIT INS CARRY
- 3720 BCC DD6;WENN PIXEL GELOESCHT
- 3730 PHA;VERSCHOBENES GRAFIKBYTE MERKEN
- 3740 STX PIXNR;MERKEN
- 3750 LDX TBPTR
- 3760 LDA NADELTB,X;NUMMER ZUGEORDN. NADEL
- 3770 JSR UMR2;IN DRUCKER-GRAFIKBYTE UMRECHNEN
- 3780 LDX PIXNR
- 3790 ORA DRKBYTE,X
- 3800 STA DRKBYTE,X;BIT FUER NADEL SETZEN
- 3810 PLA;VERSCHOBENES GRAFIKBYTE ZURUECK
- 3820 DD6 INX
- 3830 CPX #8
- 3840 BNE DD5
- 3850 INC TBPTR;AUF NAECHSTE NADEL
- 3860 INC TBPTR
- 3870 INC TBPTR
- 3880 INY
- 3890 CPY #8
- 3900 BNE DD4;NAECHSTES GRAFIKBYTE
- 4000 ;GRAFIKADRESSE AUF NAECHSTES FELD OBEN
- 4010 DD11 SEC;-320+8=-312
- 4020 LDA $FD;LO
- 4030 SBC #$38
- 4040 STA $FD
- 4050 LDA $FE;HI
- 4060 SBC #1
- 4070 STA $FE
- 4080 ;DATEN ZUM DRUCKER SCHICKEN
- 4090 LDX #0
- 4100 DD7 LDA DRKBYTE,X
- 4110 JSR PRINT
- 4120 JSR PRINT
- 4130 JSR PRINT
- 4140 INX
- 4150 CPX #8
- 4160 BNE DD7
- 4170 DEC SPLTE
- 4180 BEQ DD8
- 4190 JMP DD9;NEACHSTES FELD
- 4200 DD8 RTS
- 4500 ;--- UMRECHNUNG TABELLENWERT IN DRUCKERBYTE ---
- 4510 UMR1 LSR;HI-NIBBEL HERAUSFILTERN
- 4520 LSR
- 4530 LSR
- 4540 LSR
- 4550 TAX
- 4560 LDA TABUMR,X
- 4570 RTS
- 4580 UMR2 AND #%00001111;LO-NIBBEL HERAUSFILTERN
- 4590 TAX
- 4600 LDA TABUMR,X
- 4610 RTS
- 5000 ;
- 5001 ;DIV. UNTERPROGRAMME
- 5002 ;*******************
- 5003 ;
- 5010 ;GRAFIKMODUS EINLEITEN
- 5020 GRMOD LDX #0
- 5030 ES1 LDA ESCTB1,X
- 5040 JSR PRINT
- 5050 INX
- 5060 CPX #7
- 5070 BNE ES1
- 5080 RTS
- 5200 ;VORSCHUB 22/216 ZOLL
- 5210 LF LDA SPERR;BEIM 1. MAL UEBERSPRINGEN
- 5220 BEQ LF1
- 5230 LDX #0
- 5240 ES2 LDA ESCTB2,X
- 5250 JSR PRINT
- 5260 INX
- 5270 CPX #4
- 5280 BNE ES2
- 5290 LF1 RTS
- 5400 ;GRAFIKADRESSE AUF RE GRAF ERHOEHEN
- 5410 AD1 CLC;+8192-320=+7872
- 5420 LDA $FD;LO
- 5430 ADC #$C0
- 5440 STA $FD
- 5450 LDA $FE;HI
- 5460 ADC #$1E
- 5470 STA $FE
- 5480 RTS
- 5600 ;GRAFIKADRESSE AUF LI GRAF ERNIEDRIGEN
- 5610 AD2 SEC;-8192
- 5620 LDA $FE;HI
- 5630 SBC #$20
- 5640 STA $FE
- 5650 RTS
- 5800 ;GRAFIKADRESSE ZURUECK AUF ZEILENANFANG
- 5810 AD3 SEC;-320
- 5820 LDA $FD;LO
- 5830 SBC #$40
- 5840 STA $FD
- 5850 LDA $FE
- 5860 SBC #1;HI
- 5870 STA $FE
- 5880 RTS
- 6000 ;
- 6001 ;ESC-TABELLEN
- 6002 ;************
- 6003 ;
- 6010 ESCTB1 .BYTE $1B,$33,$01;ZEILENABSTAND 1/216
- 6020 .BYTE $1B,$5A,$80,$07;ESC Z 1920 PUNKTE
- 6030 ESCTB2 .BYTE $1B,$33,$16,$0A;ZEILENABSTAND 22/216 + LF
- 6040 ESCTB3 .BYTE $1B,$33,$0A,$0A,$1B,$40;ZEILENABSTAND 10/216+LF+INIT
- 6050 TABUMR .BYTE 0,$80,$40,$20
- 6060 .BYTE $10,$08,$04,$02,$01
- 7000 ;
- 7001 ;ZUORDNUNGSTABELLE
- 7002 ;*****************
- 7003 ;
- 7010 NADELTB .BYTE $18,$18,$18
- 7020 .BYTE $20,$20,$20
- 7030 .BYTE $30,$30,$20
- 7040 .BYTE $40,$40,$30
- 7050 .BYTE $50,$50,$40
- 7060 .BYTE $60,$50,$50
- 7070 .BYTE $70,$60,$60
- 7080 .BYTE $80,$70,$70
- 7100 ;
- 7110 .BYTE $08,$07,$07
- 7120 .BYTE $10,$18,$18
- 7130 .BYTE $20,$20,$20
- 7140 .BYTE $30,$30,$30
- 7150 .BYTE $40,$40,$30
- 7160 .BYTE $50,$50,$40
- 7170 .BYTE $60,$60,$50
- 7180 .BYTE $70,$60,$60
- 7200 ;
- 7210 .BYTE $07,$07,$06
- 7220 .BYTE $18,$07,$07
- 7230 .BYTE $10,$18,$18
- 7240 .BYTE $20,$20,$20
- 7250 .BYTE $30,$30,$30
- 7260 .BYTE $40,$40,$40
- 7270 .BYTE $50,$50,$40
- 7280 .BYTE $60,$60,$50
- 7300 ;
- 7310 .BYTE $06,$06,$05
- 7320 .BYTE $07,$07,$06
- 7330 .BYTE $18,$08,$07
- 7340 .BYTE $20,$18,$18
- 7350 .BYTE $20,$20,$20
- 7360 .BYTE $30,$30,$30
- 7370 .BYTE $40,$40,$40
- 7380 .BYTE $50,$50,$50
- 7400 ;
- 7410 .BYTE $05,$05,$05
- 7420 .BYTE $06,$06,$06
- 7430 .BYTE $07,$07,$06
- 7440 .BYTE $18,$08,$07
- 7450 .BYTE $20,$10,$18
- 7460 .BYTE $30,$20,$20
- 7470 .BYTE $30,$30,$30
- 7480 .BYTE $40,$40,$40
- 7500 ;
- 7510 .BYTE $04,$04,$04
- 7520 .BYTE $05,$05,$05
- 7530 .BYTE $06,$06,$06
- 7540 .BYTE $07,$07,$07
- 7550 .BYTE $18,$18,$07
- 7560 .BYTE $20,$10,$18
- 7570 .BYTE $30,$20,$20
- 7580 .BYTE $40,$30,$30
- 7600 ;
- 7610 .BYTE $04,$03,$03
- 7620 .BYTE $05,$04,$04
- 7630 .BYTE $05,$05,$05
- 7640 .BYTE $06,$06,$06
- 7650 .BYTE $07,$07,$07
- 7660 .BYTE $18,$18,$08
- 7670 .BYTE $20,$20,$18
- 7680 .BYTE $30,$20,$20
- 7700 ;
- 7710 .BYTE $03,$03,$02
- 7720 .BYTE $04,$03,$03
- 7730 .BYTE $05,$04,$04
- 7740 .BYTE $06,$05,$05
- 7750 .BYTE $06,$06,$06
- 7760 .BYTE $07,$07,$07
- 7770 .BYTE $18,$18,$08
- 7780 .BYTE $20,$20,$10
- 7800 ;
- 7810 .BYTE $02,$02,$01
- 7820 .BYTE $03,$03,$02
- 7830 .BYTE $04,$04,$03
- 7840 .BYTE $05,$04,$04
- 7850 .BYTE $06,$05,$05
- 7860 .BYTE $07,$06,$06
- 7870 .BYTE $07,$07,$07
- 7880 .BYTE $18,$18,$18
- 7890 ;
-